package com.example.demo.dto.submit;

import com.example.demo.valid.PhoneValid;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.PastOrPresent;
import java.time.LocalDate;

/**
 * 修改通讯录
 *
 * @author wzw
 * @date 2022/4/28 15:34
 */
@Data
public class PutAddressBookSubmit {
    // todo 2022-05-08 23:48:01 除id之外，其余属性在CreateAddressBookQuery中已存在，是否考虑过放在同一个类中？
    /**
     * id
     */
    @NotNull(message = "必须指定修改的id")
    private Long id;

    /**
     * name 姓名
     */
    @NotBlank(message = "用户名不可为空")
    @Length(max = 20, message = "名字不能超过20个字")
    private String name;

    /**
     * phone 电话
     */
    @NotBlank(message = "电话不可为空")
    @PhoneValid
    private String phone;

    /**
     * birthday 生日
     */
    @NotNull(message = "出生日期不可为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @PastOrPresent(message = "不能出生在未来")
    private LocalDate birthday;

    /**
     * remark 备注
     */
    @Length(max = 200, message = "备注不能超过200个字")
    private String remark;


}

